﻿// Copyright (c) 2009 Paul Kohler
// 
// Permission is hereby granted, free of charge, to any person obtaining a copy of this software 
// and associated documentation files (the "Software"), to deal in the Software without restriction, 
// including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, 
// and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do 
// so, subject to the following conditions:
// 
// The above copyright notice and this permission notice shall be included in all copies or substantial 
// portions of the Software.
// 
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, 
// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A 
// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 
// COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 
// IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 
// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
using System;
using System.Collections.Generic;
using JsonDbTestWebSite.Core;
using JsonDbTestWebSite.Model;

namespace JsonDbTestWebSite
{
	public partial class _Default : RepositoryPage
	{
		public ICollection<Person> PersonList
		{
			get { return Repository.GetAllPeople(); }
		}

		public ICollection<Unit> UnitList
		{
			get { return Repository.GetAllUnits(); }
		}

		protected void Page_Load(object sender, EventArgs e)
		{
			if (!IsPostBack)
			{
				string id = Request.QueryString["id"];
				string type = Request.QueryString["type"];
				Type t = Type.GetType("JsonDbTestWebSite.Model." + type, false, true);
				if (!string.IsNullOrEmpty(id) && t != null)
				{
					Repository.Delete(t, id);
				}
			}
		}

		protected void CreateBackupButton_Click(object sender, EventArgs e)
		{
			Response.Clear();
			Response.WriteFile(Repository.Backup());
			Response.End();
		}
	}
}